package com.sundablog.service.backend.system.upms.user;

import com.sundablog.pojo.AdminUser;
import com.sundablog.pojo.AdminUserRole;
import com.sundablog.result.LayUiResult;

/**
 * 管理员用户接口类
 * @ClassName:  UserService   
 * @Description:管理员用户接口类   
 * @author: 哒哒 
 * @date:   2018年3月14日 下午6:59:29   
 *     
 * @Copyright: 2018 www.sundablog.com Inc. All rights reserved.
 */
public interface UserService {

	/**
	 * 添加管理员信息
	 * @Title: addAdminUser   
	 * @Description: TODO(这里用一句话描述这个方法的作用)   
	 * @param: @param adminUser
	 * @param: @return      
	 * @return: int      
	 * @throws
	 */
	int addAdminUser(AdminUser adminUser,int roleId);
	
	/**
	 * 修改管理员信息
	 * @Title: updataAdminUser   
	 * @Description: TODO(这里用一句话描述这个方法的作用)   
	 * @param: @param adminUser
	 * @param: @return      
	 * @return: int      
	 * @throws
	 */
	int updataAdminUser(AdminUser adminUser,int roleId);
	
	/**
	 * 禁用管理员用户
	 * @Title: updataDisableUserId   
	 * @Description: 禁用管理员用户
	 * @param: @param userId
	 * @param: @return      
	 * @return: int      
	 * @throws
	 */
	int updataDisableUserId(int userId);
	
	/**
	 * 删除用户
	 * @Title: delectUser   
	 * @Description: TODO(这里用一句话描述这个方法的作用)   
	 * @param: @param userId
	 * @param: @return      
	 * @return: int      
	 * @throws
	 */
	int delectUser(int userId);
	
	/**
	 * 根据用户ID查询管理员信息
	 * @Title: selectAdminUserByUserId   
	 * @Description: TODO(这里用一句话描述这个方法的作用)   
	 * @param: @param userId
	 * @param: @return      
	 * @return: AdminUser      
	 * @throws
	 */
	AdminUser selectAdminUserByUserId(int userId);
	
	/**
	 * 根据用户名查询用户信息
	 * @Title: selectAdminUserByUserName   
	 * @Description: TODO(这里用一句话描述这个方法的作用)   
	 * @param: @param UserName
	 * @param: @return      
	 * @return: AdminUser      
	 * @throws
	 */
	AdminUser selectAdminUserByUserName(String UserName);
	
	
	/**
	 * 分页查询
	 * @Title: findPagingQuery   
	 * @Description: TODO(这里用一句话描述这个方法的作用)   
	 * @param: @param page
	 * @param: @param limit
	 * @param: @return      
	 * @return: LayUiResult      
	 * @throws
	 */
	LayUiResult findPagingQuery(int page,int limit);
	
	/**
	 * 根据角色ID 获取用户角色关联的信息
	 * @Title: selectByUserId   
	 * @Description: TODO(这里用一句话描述这个方法的作用)   
	 * @param: @param userId
	 * @param: @return      
	 * @return: AdminUserRole      
	 * @throws
	 */
	AdminUserRole selectByUserId(int userId);
	
}
